Vorwort

Diesen Vortrag habe ich im Sommer 2022 auf einer Fortbildungsveranstaltung der Deutschen Rentenversicherung gehalten.

Erklärungen der Online-Version sind an dieser Grünfarbe erkennbar.

(Die verwendeten Schriftarten sind Alegreya und Alegreya Sans)

Navigation über die Pfeiltasten auf der Tastatur.

Zero Trust

Felix von Leitner

Über mich [1/2]

Ich mache beruflich Code Audits.

Firmen zeigen mir den Quellcode ihrer Produkte.
Ich zeige ihnen Bugs, die ich darin finde.

Über mich [2/2]

Ich mache auch Security Architecture.

Firmen zeigen mir den Aufbau ihrer Produkte / Netze.
Ich zeige ihnen, wie man das besser organisieren kann.

Über diesen Vortrag

Die haben leider nicht viel miteinander zu tun.

Ich hab mal eine Umfrage gemacht

Um herauszufinden, was den Leuten unter Zero Trust so alles angedreht wird da draußen.

„Was verstehen Sie unter Zero Trust?“

„Was verstehen Sie unter Zero Trust?“

Ein Consultant schrieb:

Dieser Vortrag

Achtung: Die Details könnten die Bevölkerung verunsichern.

„Viel Zeit“

Die hatten auch das BSI angefragt, die hatten zugesagt, aber dann zwei Wochen vorher überraschend abgesagt.

Daher war mein Zeitslot plötzlich 75 Minuten lang.

Die habe ich natürlich nicht ganz ausgenutzt, aber ein bisschen ausschweifender waren meine Ausführungen schon.

Es gibt im Leben drei wichtige Fragen

  1. Wo sind wir?

  2. Wie sind wir hier hingekommen?

  3. Wie geht es jetzt weiter?

Wo sind wir?

Hier sind Ihre größten Bedrohungen:

Wie funktioniert Ransomware? [1/2]

Das geht, weil... [1/2]

Windows folgt (wie Unix!) einem Paradigma, bei dem die Granularität des Systems Benutzerkonten und Prozesse sind.

Anwendungen, die Sie starten, laufen mit Ihren Berechtigungen.

Ein Angreifer. der Ihre Anwendung übernimmt, kann alles tun, was Sie tun konnten.

Das geht, weil... [2/2]

Smartphones und Chromebooks fahren Apps in stark eingeschränkten „Sandkästen“.

Ein Angreifer, der Ihre Mail-Anwendung hackt, kann immer noch Ihre Mails lesen.

Aber er kann nicht die Word-Datei kopieren, an der Sie gerade arbeiteten, außer Sie verschickten sie per E-Mail.

Wie funktioniert Ransomware? [2/2]

Da sollten wir mal was tun!

Wie geht man an sowas heran?

Wie bewertet man Security?

  1. Man erstellt ein Threat Model mit Datenflussdiagramm
  2. Damit misst man die TCB
  3. Dann sucht man Maßnahmen, die die TCB verkleinern
  4. Und Maßnahmen, die Angriffe aus dem Threat Model verhindern

Was ist ein Threat Model?

Ziel der Übung: Sehen, wo man angreifbar ist.

Threat Model

Achtung: Erliegen Sie nicht der Versuchung, die Liste von der Dokumentationsabteilung machen zu lassen, oder von Projektleitern oder anderem Management!

Die Entwickler sollen über ihr Modul aus der Warte eines Angreifers nachdenken!

Das ist das Hauptziel der Übung!

Was ist ein Datenflussdiagramm?

Ziel der Übung: Man sieht die Mitspieler, wer mit wem redet.
Kommunikation über Inselgrenzen ("Trust Boundary") sind riskant.
Wir nennen das: Attack Surface.

Was ist die TCB? [1/3]

TCB steht für Trusted Computing Base.

Ziel: TCB minimieren.
Komponenten so „ohnmächtig“ wie möglich machen.

Was ist die TCB? [2/3]

In typischen Installationen: Alles.

Was ist die TCB? [3/3]

Wie verkleinert man die TCB? [1/2]

Wie verkleinert man die TCB? [2/2]

Aber einfach so beliebige Dateien öffnen geht nicht.

Dateien öffnen [1/2]

Wenn man unter Windows in Word „Datei öffnen“ klickt, dann kommt ein Auswahlfenster von Word.

Das ist aber bloß Konvention. Word hätte auch ohne Nachfrage jede Datei öffnen können, die der angemeldete Nutzer lesen darf.

Auf dem Smartphone kommt die Auswahl vom System. Dort kann Word keine einzige Datei selber öffnen, ohne dass der Nutzer sie in dem Dialog ausgewählt hat.

Dateien öffnen [2/2]

Ein Hacker, der den PDF-Viewer übernimmt, kann unter Windows alle Dokumente sehen und verschlüsseln.

Auf dem Smartphone kann er mich mit Datei-Öffnen-Dialogen nerven aber ohne explizite Einwilligung nichts machen.

Da wollen wir auch auf dem Desktop hin!

Anderer Ansatz: Single-Use Tokens

TCB-Minimieren ist schwierig!

Ist aber das einzige, was messbar hilft.

In der Praxis sind die meisten Maßnahmen unwirksam

Weil man nicht die TCB minimiert hat (häufig sogar im Gegenteil!)

Zurück zu den Ransomware-Problemen!

  1. Der Angreifer kann Ihren Account übernehmen
  2. Von Ihrem Account aus kann er Admin werden
  3. Als Admin kann er alle Daten sehen und verschlüsseln
  4. Als Admin kann er Domain Admin werden

Das ist (in 1. Näherung) unser Threat Model!

Wie sind wir hier hingekommen?

Erklärung 1: Smart Clients

Stellen Sie sich hier ein VT220-Terminal vor.

Eine Bildersuche nach vt220 findet z.B. schöne Bilder.

Das ist ein Terminal, kein Computer

Das Terminal war dumm.

Stellen Sie sich hier ein Schaltbild eines vt52-Terminals vor.

Eine Bildersuche nach vt52 block diagram findet welche.

Der hier relevante Teil ist: Kein Speicher!

Aufgepasst!

Sicherheitsfeatures

Zum Vergleich: Heutige Clients

Hintergrund

Was ich damit zeigen wollte:

Früher war die TCB kleiner als heute.

Wichtiger Punkt fürs Verständnis [1/2]

Wenn es auf Ihrem System APIs gibt, kann der Angreifer sie aufrufen.

Angreifer kann Admin werden? Dann konnte das auch der Mitarbeiter!

Wichtiger Punkt fürs Verständnis [2/2]

Offensichtliche Lösung: Nur ganz wenige Schnittstellen anbieten.
So wenig wie möglich. Damit wir eine Chance haben, die abzusichern.

Windows hat fünfstellig APIs

 

Was haben wir angerichtet?!

Patch Management

Dazu habe ich einen separaten Vortrag, daher hier nur kurz:

Erklärung 2: Management

Management

Management klingt gut für Manager!

Management klingt gut für Manager!

Management klingt gut für Manager!

Management klingt gut für Manager!

(Die Liste ließe sich bestimmt fortsetzen)

Alle investieren in Management

Niemand investiert in Lösungen.

Alle investieren in Prozesse, niemand verbessert irgendwas.

ISO 27001 verlangt nur Prozesse, nicht dass sie funktionieren!

Erklärung 3: Lohnt sich einfach mehr

Lohnt sich einfach mehr

Heute kann man mit der Schrotflinte irgendwo hin schießen und trifft was Lohnendes.

Stützargument

Gesprochenes Wort

Ich halte das als Argument für nicht satisfaktionsfähig.

Selbst wenn es stimmt, eröffnet es uns keine neuen Handlungsoptionen.

Ich habe es hier der Vollständigkeit halber erwähnt.

Wo geht es jetzt hin?

Zurück zum Threat Model

  1. Der Angreifer kann Ihren Account übernehmen
  2. Von Ihrem Account aus kann er Admin werden
  3. Als Admin kann er alle Daten sehen und verschlüsseln
  4. Als Admin kann er Netzwerk-Admin werden

Angreifer kann Account übernehmen

Ab jetzt sichere Software!

Wir haben immer weniger Schwachstellen pro kg Code

Die Codegröße wächst schneller als die Fehlerrate sinkt

Wir müssen mehr tun!

Da kann man doch was machen?

Es gibt bewährte Ansätze von anderswo:

Luftdruck

Wenn Sie das noch nicht kennen:

In den Seuchenbereichen hat man geringeren Luftdruck.

Wenn irgendwo ein Leck ist, dann strömt die Luft rein, nicht raus.

Die Erreger bleiben drinnen.

Da kann man doch was machen?

Code kann man auch isolieren!

  1. Virtuelle Maschine
  2. Container
  3. Emulator / Instrumentierung
  4. Microservices

Container

Container

Ein Container pro Anfrage!

Kann man das nicht besser machen?

Begriffserklärung

CAPEX ist Capital Expenditure. Fixkosten für Hardwarekauf o.ä.

OPEX ist Operational Expenditure. Laufende Kosten. Betrieb, Support, Wartung.

Fazit

Zurück zum Threat Model

  1. Der Angreifer kann Ihren Account übernehmen
  2. Von Ihrem Account aus kann er Admin werden
  3. Als Admin kann er alle Daten sehen und verschlüsseln
  4. Als Admin kann er Netzwerk-Admin werden

„Der kann Admin werden“

Warum wäre eine App sicherer?

Das war jetzt ein bisschen geschummelt

Auf dem Phone liegen E-Mails. Wenn der Angreifer über die Mail-App reinkam, hat er alle E-Mails.

Die, die nicht da liegen, darf er abrufen, kopieren und löschen.

In den E-Mails sind vielleicht wichtige Anhänge.

Das wäre immer noch ein ziemlich großer Schaden.

Können wir uns bei Apps was abgucken? [1/2]

Können wir uns bei Apps was abgucken? [2/2]

Schade eigentlich!

Fazit

Zurück zum Threat Model

  1. Der Angreifer kann Ihren Account übernehmen
  2. Von Ihrem Account aus kann er Admin werden
  3. Als Admin kann er alle Daten sehen und verschlüsseln
  4. Als Admin kann er Netzwerk-Admin werden

„Der kann alle Daten abgreifen!“

Die Daten liegen auf dem Rechner? Admin kann sie abgreifen.

 

Verschlüsseln hilft nicht. Admin kann Schlüssel sehen.

 

Passwort hilft nicht. Admin kann Tastatureingaben mitlesen.

Schutz vor dem lokalen Admin

Wenn die Daten „im SAP“ liegen, kann der lokale Admin „nur“ anstellen, was der angemeldete Nutzer darf.

Immer noch schlimm aber kein Totalschaden mehr.

Der SAP-Admin kann immer noch alles sehen und kaputtmachen.

Schutz vor dem lokalen Admin

Lösungsansatz:

Auch der lokale Admin kann die Daten nicht verschlüsseln!

Traditionelle Datenablage

In der Datenbank steht: Name=Fred, Abteilung=Security

Fred wechselt die Abteilung: Name=Fred, Abteilung=Inkasso

 

Nachdem der Wert gewechselt ist, ist der vorige Wert futsch.

Man müsste ein Backup einspielen.

Append-only Datenablage

Nach Freds Abteilungswechsel:

Name=Fred, Abteilung=Security

Änderung 2022-06-15 UID 123: Name=Fred, Abteilung=Inkasso

 

Änderungen werden hinten angehängt.

Jemand hackt uns? Dann rollen wir das manuell zurück.

Fazit

Zurück zum Threat Model

  1. Der Angreifer kann Ihren Account übernehmen
  2. Von Ihrem Account aus kann er Admin werden
  3. Als Admin kann er alle Daten sehen und verschlüsseln
  4. Als Admin kann er Netzwerk-Admin werden

„Er kann Netzwerk-Admin werden“

Kann man da nichts machen?

Kann man da nichts machen?

https://docs.microsoft.com/en-us/windows-server/security/kerberos/domain-joined-device-public-key-authentication

Fazit

Was ist denn jetzt Zero Trust?

Warum wäre eine App sicherer?

Das ist Zero Trust [1/4]

 

Das ist alles.

Behandelt alle Zugriffe, als kämen Sie aus dem Internet.

Das ist Zero Trust [2/4]

Das ist Zero Trust [3/4]

Das ist Zero Trust [4/4]

Was ist mit Apple?

Sollten Sie auch nicht!

Apple

Das war jetzt ein bisschen ungerecht.

Apple hat in Dänemark ein Rechenzentrum gebaut.

Die Daten ihrer europäischen Kunden liegen dort, nicht bei Azure/AWS.

Das liegt aber eher an der DSGVO als an Apple.

Aber aber aber …

„Aber die Hersteller wollen uns als Zero Trust alle Managed Cloud Services und Identity Management verkaufen!“

 

Das ist nicht Zero Trust.

Das ist das Gegenteil von Zero Trust.

Dann muss man dem Cloud-Dienst 100% vertrauen!

Wieso verkaufen die uns das dann?!

Management

Ich gebe zu: Das war ein billiger Scherz, und die Sektion über Management habe ich im Wesentlichen eingebaut, um hier diese Pointe bringen zu können.

Der Hintergrund ist aber glaube ich durchaus ernst.

Eine Sache, die ich gar nicht ansprach, aber über die Sie auch mal nachdenken könnten: Wie viele Management-Lösungen wurden bei Ihnen gekauft, aber dann war kein Geld für jemanden da, der das bedient / auswertet?

Jede Firma hat ein SIEM, aber kaum eine wertet das aus.

Alle haben ein CERT. Die meisten verteilen bloß externe Meldungen intern weiter.

Jetzt haben wir das Rüstzeug, …

… mal ein paar Verkaufsangebote zu evaluieren!

1. Mikrosegmentierung [1/3]

 

Wie ist es mit dem Threat Model?

Was ist denn Mikrosegmentierung?

Eigentlich: Netzwerk möglichst feingranular segmentieren.

Clients sehen sich gegenseitig nicht.

Server sehen sich nur, wenn sie miteinander reden müssen.

Heute leider Marketing-Buzzword von SDN- und Kubernetes-Verkäufern.

Stoppt „lateral movement“, aber das spielt in unserem Threat Model keine Rolle.

1. Mikrosegmentierung [2/3]

1. Mikrosegmentierung [3/3]

Begriffserklärung

Opportunitätskosten sind „Kosten“ für entgangene andere Dinge, die man hätte tun können.

Wenn ich eine Cola trinke, habe ich Opportunitätskosten in Höhe des Wertes, den ich bei einem Verkauf erzielen könnte.

Wenn ich ein Jahr lang Mikrosegmentierung einführe, habe ich Opportunitätskosten in Höhe dessen, was man in dem Jahr sonst hätte tun können.

2. Cloud-Passwortmanager [1/3]

 

Wie ist es mit dem Threat Model?

2. Cloud-Passwortmanager [2/3]

2. Cloud-Passwortmanager [3/3]

 

(Das gilt natürlich auch für „Cloud Identity Provider“ u.ä.)

(Und für MFA in der Cloud)

Der Hersteller sagt, die Daten liegen lokal!

Erstens können Sie das kaum prüfen.

Zweitens ändert das nichts an der Bewertung. Das ist zusätzliche Software, der müssen Sie trauen.

Das vergrößert die TCB und hilft gegen nichts im Threat Model.

3. Netzwerküberwachung [1/3]

 

Wie ist es mit dem Threat Model?

3. Netzwerküberwachung [2/3]

3. Netzwerküberwachung [3/3]

 

Die Netzwerküberwachung kommt überall hin.

Der Angreifer auch, wenn er sie hackt.

Das hilft doch aber, Angriffe zu erkennen!

Ich frage nach Pentests immer, was der Kunde davon gemerkt hat.

Ich verhalte mich bei Pentests überhaupt nicht leise oder zurückhaltend.

Einmal hat jemand was gemerkt. Das ist jetzt 20 Jahre her.

Alle anderen haben tolle Überwachungsgeräte, aber keiner wertet das aus.

Kompromissvorschlag: Erst Angriffe unmöglich machen, dann Monitoring.

4. Software Defined Perimeter [1/3]

 

Wie ist es mit dem Threat Model?

Was ist SDP?

Verwandt: SDN, Black Cloud / Dark Cloud, Mikrosegmentierung.

Idee: Man schaltet nur die Netzwerkverbindungen frei, die benötigt werden.

Am besten dynamisch und nur dann, wenn sie gerade akut benötigt werden.

Keine grundsätzlich dumme Idee, aber bringt halt erstmal nichts. Würde ich erst erwägen, wenn alle Angriffe abgewehrt sind.

4. Software Defined Perimeter [2/3]

4. Software Defined Perimeter [3/3]

 

Außer es hat kein Risiko, weil wir eh Zero Trust machen.

Dann hat es aber auch keinen Nutzen.

Fertig! Jetzt kommt die Kür!

Wie kommt die Ransomware rein? [1/2]

Mit gelbem Balken schaltet man auch Ändern ein, das haben wir den Leuten jetzt antrainiert.

Wie kommt die Ransomware rein? [2/2]

Achten Sie mal darauf:

Narrativ jetzt: „Nutzer ist das schwächste Glied“

Nutzer ist das schwächste Glied

Das ärgert mich gewaltig.

Wir geben dem Nutzer eine Maus (zum Klicken), ein Outlook, das Links in Mails klickbar macht, und einen Browser, der zum Link-Klicken gedacht ist.

Und dann beschimpfen wir den Nutzer, wenn er diese Dinge dafür benutzt, wofür sie gebaut wurden.

Nicht der Nutzer ist hier das schwache Glied, sondern dass man in Microsoftumgebungen nicht gefahrlos auf Dinge klicken kann!

Denken Sie sich hier ein Foto eines Verkehrsschildes hin.

Oben das Warndreieck mit Ausrufezeichen.

Darunter „Straßenschäden“

Darunter Geschwindigkeitsbegrenzung: 30

[Mögliches Motiv] [Alternative] [Alternative 2]

Wie wird die Ransomware Admin? [1/2]

Wissen Sie, wer jahrelang 80% der Blue Screens erzeugt hat?

Ranzige Grafiktreiber.

Gammelsoftware

Das ist der einzige Hebel, den sie effektiv haben.

Patchen sie zeitnah. Alle Patches. Immer. In unter 24h!

Haben Sie so wenig Kram wie möglich installiert.

Schmeißen Sie Programme ohne Updates raus!

Blue Screens sind inkompetent ausgenutzte Kernel-Sicherheitslücken.

Wie wird die Ransomware Admin? [2/2]

Können bei Ihnen die Mitarbeiter per UAC Admin werden?

(Lachen Sie nicht! Ist bei praktisch allen Entwicklungsabteilungen so!)

 

(Inklusive bei Microsoft!)

Verhindert das nicht der Antivirus?

Nein, in der Praxis nicht.

Der meldet ihnen 10000 gefährliche Cookies im Browser.

Und ein unsigniertes Programm, das Sie gerade kompiliert haben.

 

Hauptfunktion eines Antivirus: Sie zum Verlängern des Abos bringen.

Wie holen die sich Domain Admin?

(Bei Pentests ruft man gerne den Helpdesk an)

Helpdesk

Der Helpdesk hat vielleicht nicht Domain Admin.

Aber der kann sich auf dem Rechner des Domain Admin einloggen.

Dann greif ich dessen Credentials halt da ab.

(In diesem Fall könnte Mikrosegmentierung tatsächlich helfen)

Das ist ja furchtbar!

 

Microsoft hat hier seit Jahrzehnten den Schuss nicht gehört.

Public Key Auth

AD kann Zertifikate und Smart Cards, aber dann ist im Hintergrund immer noch Kerberos, und das kann man abgreifen.

Azure-AD kann angeblich echtes public key Auth.

Aber das hilft Ihnen ja nichts, denn dann müssen Sie Azure vertrauen.

Und jetzt?

OK, so kann ich Sie nicht gehen lassen

Ein paar konkrete Visionen

Ein paar konkrete Visionen

Chromebooks gehen in die richtige Richtung.

Kleine Ungenauigkeit meinerseits

Chromebooks haben noch lokale Schreibzugriffe.

Ist für ein privates Reisegerät auch OK.

Aber im Arbeitsumfeld vielleicht verzichtbar?

Was bringt uns das?

Selbst nach erfolgreichem Hack geht Einnisten nicht!

 

Problem? Rechner booten! Alles wieder sauber.

Bootet nicht? Das alte Image liegt noch da!

 

(So machen das Chromebooks, Android und Apple-Geräte)

Ein paar konkrete Visionen

Was bringt uns das?

Selbst nach erfolgreichem Hack helfen Admin-Privilegien nichts.

 

Kann nur Daten abgreifen, die der User im Zugriff hatte!

 

Alles schön Least Privilege machen!

Was bringt uns das?

Updates

Ist das realistisch?

Das muss jede Organisation für sich selbst entscheiden.

 

Meine Botschaft: Wir wissen, dass es geht, und wie es geht.

 

Es gibt eigentlich schon länger keine Ausreden mehr.

Was ist auf Serverseite?

Da gibt es auch einen Haufen Dinge zu beachten.

Ist ein eigener Vortrag. Der sieht aber ähnlich aus.

Wir wissen, dass es geht, und wie es geht. Aber keiner tut es.

 

Google-Stichwörter:

Least Privilege, TCB-Minimierung, Self Sandboxing, Privilege Separation.

Vielen Dank für die Aufmerksamkeit!

Fragen?

Wenn Sie mal IT-Security-Hilfe brauchen:

https://www.codeblau.de/